package s2elinshu;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;

public class J18SimpleDateFormat {

	public static void main(String[] args) {
        // DateFormat
		// Date 클래스나 Calendar 클래스로
		// 날짜와 시간을 출력하는 것은 
		// 많은 비용이 필요!!
		// 적은 비용으로 간편하게 날짜/ 시간을 출력하려면
		// DateFormat을 사용하자!
		// 단, 자주 사용하는 출력형태를 4가지로 구분
		
		Date now = new Date();
		DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);
		System.out.println(df.format(now));
		df = DateFormat.getDateInstance(DateFormat.LONG);
		System.out.println(df.format(now));
		df = DateFormat.getDateInstance(DateFormat.MEDIUM);
		System.out.println(df.format(now));
		df = DateFormat.getDateInstance(DateFormat.SHORT);
		System.out.println(df.format(now));
		
		df=DateFormat.getTimeInstance(DateFormat.FULL);
		System.out.println(df.format(now));
		df=DateFormat.getTimeInstance(DateFormat.LONG);
		System.out.println(df.format(now));
		df=DateFormat.getTimeInstance(DateFormat.MEDIUM);
		System.out.println(df.format(now));
		df=DateFormat.getTimeInstance(DateFormat.SHORT);
		System.out.println(df.format(now));
		
		// SimpleDateFormat
		// DateFormat이 지원하는 출력형태 말고
		// 다양하게 날짜와 시간을 출력하기 위해 사용
		// y는 연도를 표시 ex) yy, yyyy
		// M은 월을 표시 ex) m, mm
		// d는 일을 표시  ex) d, dd
		// D는 현재 연도를 총 일수를 표시 ex) DDD
		// E는 현재 요일을 표시하는 패턴 ex) E
		// h 현재 시간을 표시하는 패턴 ex) h, hh
		// m 분을 표시하는 패턴 ex) m, mm
		// s는 초를 표시하는 패턴 ex) s, ss
		// a 오전/오후 표시하는 패턴 ex) a
		
		String fmt = "yyyy-MM-dd-E a hh:mm:ss";
       /*fmt = "yyyy년 MM월 dd일 E요일";*/
		SimpleDateFormat sdf = new SimpleDateFormat(fmt);
		System.out.println(sdf.format(now));
		

		
	}  //	public static void main
}   // public class J18SimpleDateFormat 






